Force inlining on some functions that are designed to compile away.
iap10@tetris.cl.cam.ac.uk
jws22@gauntlet.cl.cam.ac.uk
jws@cairnwell.research
+kaf24@freefall.cl.cam.ac.uk
kaf24@labyrinth.cl.cam.ac.uk
kaf24@plym.cl.cam.ac.uk
kaf24@scramble.cl.cam.ac.uk
void ptwr_flush_inactive(void);
int ptwr_do_page_fault(unsigned long);
-static inline void __cleanup_writable_pagetable(const int what)
+static always_inline void
+__cleanup_writable_pagetable(
+ const int what)
{
int cpu = smp_processor_id();
ptwr_flush_inactive();
}
-static inline void cleanup_writable_pagetable(struct domain *d, const int what)
+static always_inline void
+cleanup_writable_pagetable(
+ struct domain *d, const int what)
{
if ( unlikely(VM_ASSIST(d, VMASST_TYPE_writable_pagetables)) )
__cleanup_writable_pagetable(what);
* Returns number of bytes that could not be copied.
* On success, this will be zero.
*/
-static inline unsigned long
+static always_inline unsigned long
__copy_to_user(void __user *to, const void *from, unsigned long n)
{
if (__builtin_constant_p(n)) {
* If some data could not be copied, this function will pad the copied
* data to the requested size using zero bytes.
*/
-static inline unsigned long
+static always_inline unsigned long
__copy_from_user(void *to, const void __user *from, unsigned long n)
{
if (__builtin_constant_p(n)) {
extern unsigned long copy_from_user(void *to, const void __user *from, unsigned len);
extern unsigned long copy_in_user(void __user *to, const void __user *from, unsigned len);
-static inline int __copy_from_user(void *dst, const void __user *src, unsigned size)
+static always_inline int __copy_from_user(void *dst, const void __user *src, unsigned size)
{
int ret = 0;
if (!__builtin_constant_p(size))
}
}
-static inline int __copy_to_user(void __user *dst, const void *src, unsigned size)
+static always_inline int __copy_to_user(void __user *dst, const void *src, unsigned size)
{
int ret = 0;
if (!__builtin_constant_p(size))
}
-static inline int __copy_in_user(void __user *dst, const void __user *src, unsigned size)
+static always_inline int __copy_in_user(void __user *dst, const void __user *src, unsigned size)
{
int ret = 0;
if (!__builtin_constant_p(size))
#define offsetof(_p,_f) ((unsigned long)&(((_p *)0)->_f))
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
+#define always_inline __inline__ __attribute__ ((always_inline))
+
/* syslog levels ==> nothing! */
#define KERN_NOTICE ""
#define KERN_WARNING ""